#pragma once

#include <memory>

#include "builder/Product.hpp"

class Builder
{
protected:
    Product product;
public:
    Builder() = default;
    virtual ~Builder() = default;

    virtual void BuildPartA() = 0;

    virtual void BuildPartB() = 0;

    Product& GetProduct() {
        return product;
    }
};